package cn.tedu.api;

import java.util.Arrays;
/*用于测试String常用方法*/
public class TestStringHomework {
    public static void main(String[] args) {
        //1.通过高效方法创建字符串，存在堆中的常量池
        String s1="abcdefg";
        //2.通过方式2创建，不是高效方式
        char[] value={'a','b','c','d','e','f','g'};
        String s2=new String(value);

        String s3="a b c d e f";
        String s4="    abc     ";
        System.out.println(s1.charAt(0));//a，下标为0的字符
        System.out.println(s1.indexOf("b"));//1，字符b第一次出现的下标
        System.out.println(s1.lastIndexOf("b"));//字符b最后一次出现的下标
        System.out.println(s1==s2);//false，一个高效，一个不高效，地址不一样
        System.out.println(s1.equals(s2));//true，string重写了equals（），比较的是具体值，不是地址
        System.out.println(s1.getBytes());//[B@1540e19d。将字符串转成字节数组，打印的是地址值
        System.out.println(Arrays.toString(s1.getBytes()));
        //[97, 98, 99, 100, 101, 102, 103]打印转化后数组的值
        System.out.println(s3.split(" "));//[Ljava.lang.String;@677327b6，去掉空格后的数组地址值
        System.out.println(Arrays.toString(s3.split(" ")));
        //[a, b, c, d, e, f]显示去掉空格后的数组
        System.out.println(s4.trim());
        //abc，去掉首尾的空格
        System.out.println(s1.length());
        //7，数组的长度
        System.out.println(s1.startsWith("a"));
        //true，判断本串是否以a开头
        System.out.println(s1.endsWith("b"));
        //false，判断本串是否以b结尾
        System.out.println(s2.toUpperCase());
        //ABCDEFG，转换成大写
        System.out.println(s2.toLowerCase());
        //abcdefg，转化成小写
        System.out.println(s2.concat("busy"));
        //abcdefgbusy，拼接字符串，但是是临时的
        System.out.println(s1.substring(3));
        //defg截取字符串，从下标处开始接
        System.out.println(s1.substring(3,5));
        //de。截取字符出，开始下标3，结尾下标4
        System.out.println(String.valueOf(100));
        //100，将其转化为字符串
        System.out.println(String.valueOf(100)+100);
        //100100验证是否转为字符串
    }


}
